package edu.lsnu.equipment_management_system.pojo.po.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import edu.lsnu.equipment_management_system.util.DateUtil;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;

/**
 * @author mzy
 * @Description
 * @date 2018/11/17
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class EquipmentUseRecordTablePo implements Serializable {

    /** 设备编号：SBBH(来自页面) */
    private String equipmentNo;
    /** 职工号：ZGH(session) */
    private String userNo;
    /** 开始时间：SYRQ1(手动加为purchaseDate) */
    @JsonFormat(pattern = "yyyy-MM-dd", locale = "zh", timezone = "GMT+8")
    private Date beginDate;
    /** 结束时间：SYRQ2 */
    // @JsonFormat(pattern = "yyyy-MM-dd", locale = "zh", timezone = "GMT+8")
    // private Date endDate;
    /** 存放场所代码(ID)：CFCSDM(来自页面) */
    private String placeNo;
    /** 原因和备注：YY、BZ(来自页面) */
    private String remark;

    public void setUserNo(String userNo) {
        this.userNo = userNo.trim();
    }
    /**
     * @Description 因为equipmentNo的注入必不可少，所以在这里牵动一下beginDate的注入。
     * @author mzywucai
     * @time 2018-12-19
     * @see
     * @return   void
     * @params  []
     */
    public void setEquipmentNo(String equipmentNo) {
        this.equipmentNo = equipmentNo.trim();

        setBeginDate(new Date());
    }

    /**
     * @Description 因为开始时间是内部生成的并不是外部注入的；
     *              所以JsonFormat无效，要内部手动format。
     * @author mzywucai
     * @time 2018-12-19
     * @see 
     * @return   void
     * @params  [date]
     */
    public void setBeginDate(Date date) {
        date = new Date();
        String format = DateUtil.format(date, "yyyy-MM-dd");

        beginDate = DateUtil.parseDate(format);

    }

}
